﻿using BLL.Sgf;
using BLL.Utility;
using Entity.Models;
using Sgf.Utility;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Sgf.Default
{
    public partial class Registro : AbstractPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                using (var bll = new UsuarioBLL())
                {
                    var pEntity = GetEntity();
                    var acesso = bll.ValidaCadastro(pEntity);
                    if (acesso == null)
                    {
                        bll.SalvarUsuario(pEntity);
                        LimparCampos();
                        ExibeMensagem("Operação realizada com sucesso");
                    }
                    else
                    {
                        ExibeMensagem("Usuário já cadastrado");
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Registro.btnSalvar_Click :: " + ex.Message, ex);
            }
        }

        private Usuario GetEntity()
        {
            var criptografar = new Criptografar();
            var pEntity = new Usuario
            {
                NomeUsuario = txtUsuario.Text,
                SenhaUsuario = criptografar.HashValue(txtConfirmaSenha.Text)
            };
            return pEntity;
        }

        private void LimparCampos()
        {
            var campos = new Campos();
            campos.LimparTextBox(this);
        }
    }
}